AWS Migration HubでDMSのマイグレーションをトラックする
こんにちは、菊池です。
AWS Summit 2017 New Yorkで発表された新サービス、AWS Migration Hubは、AWSへの移行をサポートするダッシュボードを提供します。
今回は、このAWS Migration Hubで、Database Migration Service(DMS)によるデータベース移行をトラッキングしてみました。
Migration Toolへの接続
まずは、Migration Hubから、移行ツールであるDMSに接続します。
Migration Hubのコンソールを開き、[Tools]を選びます。対応している移行ツールが出てきますので、その中から[Database Migration Service]を探します。すると、DMSのパネル表示の右上が[Not connected]の状態となっています。
Migration HubでDMSを管理可能にするためには、IAMロールを作成し、権限を付与します。
IAMのコンソールへ移動し、IAMロールの新規作成を行います。ロールタイプは後から変更しますので、とりあえずAWSサービスロールの、[Amazon EC2]を選んで進みます。
ポリシーは、[AWSMigrationHubDMSAccess]を選択します。
ロール名です。[migrationhub-dms]と入力します。このロール名が自動で使用されますので、間違いの内容に入力しましょう。
作成できたら、このロールの信頼関係を編集します。
ポリシードキュメントに、以下のJSONを記述し、更新します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
[信頼されたエンティティ]に、dms.amazonaws.comが表示されればOKです。
すると、Migration Hubのコンソールで、DMSが[Connected]となります。これで準備OKです。
移行の実行
それではデータベースの移行を実施していきます。
この時点で、Migrateの[Updates]メニューには、DMSが表示されてます。
移行する対象として、以下のブログエントリで紹介したMongoDBからDynamoDBへの移行を実行して試してみます。
移行作業については、上記の記事を参照ください。
DMSのタスクを開始すると、以下のように先ほどのUpdatesに移行元(Source)のサーバが表示され、ステータスが[In-progress]となりました。
[Discover]の[Servers]にもソースサーバが表示されています。Migration Hubはオレゴンリージョンのサービスですが、東京リージョンのDMSインスタンス/タスクもトラックできるようです。
Migration Hubでは、Applicationのグループで移行を管理しますので、サーバをグループ化します。
サーバを選択し、[Group as application]に進みます。新しいApplicationにグループ化します。
グループ名、説明を入力して保存しました。
すると、[Applications]のリストに、作成したグループが表示されます。
これを選択すると、以下のようにサーバごとのステータスをトラッキングできます。(今回は1台ですが、グループに複数サーバがあれば、並んで表示されます。)
よく見ると、グループのステータスが[Not started]ですので、[Change status]から変更します。
[In-progress]になりました。
しばらくして、DMSのマイグレーションが完了すると、サーバのステータスが[Completed]に遷移しました。
グループの全てのサーバの移行が完了したら、先程と同様に[Change status]でグループのステータスもCompletedに変更できます。
これで、マイグレーションのトラッキングが完了です。
最後に
AWS Migration Hubで、DMSによるデータベースの移行をトラッキングしてみました。
今回は1つのマイグレーションで試しましたが、複数の移行が並行して実行されるような大規模なケースでは、全体の状況を一目で把握できます。